# 配置文件

# 筛选条件 - 第二步优化版本
SCREENING_CRITERIA = {
    'market_cap_min': 40,  # 最小市值（亿元）- 修正为>40亿
    'price_min': 4.0,      # 最小股价
    'price_max': 25.0,     # 最大股价 - 修正为4-25元
    'pe_ratio_min': 0.1,   # 最小市盈率（>0表示盈利）- 确保PE>0
    'dividend_preferred': True,  # 优先有分红股票
    'min_volume': 1000000,  # 最小成交量（手）
    'top_stocks': 15       # 选出的潜力股数量 - 增加到15只
}

# 数据源配置
DATA_SOURCES = {
    'primary': 'akshare',    # 主数据源：akshare, yfinance, tushare
    'backup': 'yfinance',    # 备用数据源
    'update_interval': 3600  # 数据更新间隔（秒）
}

# 技术指标参数（基于通达信经典指标公式）
TECHNICAL_INDICATORS = {
    # 买卖线系统参数
    'buy_line_period': 2,                             # 买线EMA周期
    'sell_line_slope_period': 21,                     # 卖线斜率计算周期
    'sell_line_slope_multiplier': 20,                 # 卖线斜率乘数
    'sell_line_ema_period': 42,                       # 卖线EMA周期
    
    # 多重EMA系统参数
    'multi_ema_periods': [5, 8, 55],                  # P1, P2, P3 EMA周期
    
    # 指导线系统参数
    'guidance_ema_periods': [4, 6, 12, 24],           # 指导线基础EMA周期
    'guidance_final_ema': 2,                          # 指导线最终EMA周期
    'boundary_ma_period': 27,                         # 界线MA周期
    
    # 其他技术指标
    'rsi_period': 14,                                 # RSI周期
    'macd_fast': 12,                                  # MACD快线
    'macd_slow': 26,                                  # MACD慢线
    'macd_signal': 9,                                 # MACD信号线
    'bollinger_period': 20,                           # 布林带周期
    'bollinger_std': 2                                # 布林带标准差倍数
}

# 预测参数
PREDICTION_CONFIG = {
    'forecast_days': 30,              # 预测天数
    'confidence_level': 0.8,          # 置信度
    'min_history_days': 60,           # 最少历史数据天数（2个月）
    'models': ['prophet', 'lstm', 'random_forest', 'linear_regression', 'advanced_technical'],  # 预测模型
    'model_weights': {                # 模型权重 - 增强技术分析权重
        'advanced_technical': 0.35,   # 技术分析权重提升至35%
        'prophet': 0.25,
        'lstm': 0.2,
        'random_forest': 0.15,
        'linear_regression': 0.05
    }
}

# 评分权重
SCORING_WEIGHTS = {
    'technical_score': 0.4,    # 技术指标得分权重
    'fundamental_score': 0.3,  # 基本面得分权重
    'momentum_score': 0.2,     # 动量得分权重
    'dividend_score': 0.1      # 分红得分权重
}

# 显示设置
DISPLAY_CONFIG = {
    'max_stocks_display': 50,  # 最大显示股票数
    'chart_width': 1200,       # 图表宽度
    'chart_height': 600,       # 图表高度
    'theme': 'plotly_white'    # 图表主题
}

# 通达信指标配置
TONGDAXIN_CONFIG = {
    # 颜色配置（模拟通达信经典配色）
    'colors': {
        'red': '#FF4444',      # 涨色/阳线
        'green': '#00AA00',    # 跌色/阴线
        'yellow': '#FFAA00',   # 买线颜色
        'blue': '#4488FF',     # 卖线颜色
        'purple': '#AA44FF',   # 紫色线
        'gray': '#888888',     # 灰色线
        'white': '#FFFFFF',    # 白色背景
        'black': '#000000'     # 黑色文字
    },
    
    # 线条样式配置
    'line_styles': {
        'buy_line_width': 2,      # 买线宽度
        'sell_line_width': 2,     # 卖线宽度
        'ema_line_width': 1,      # EMA线宽度
        'p1_line_width': 1,       # P1线宽度
        'p2_line_width': 2,       # P2线宽度（粗线）
        'p3_line_width': 1        # P3线宽度
    },
    
    # 信号图标配置
    'signal_icons': {
        'buy_icon': 1,            # 买入信号图标
        'sell_icon': 2,           # 卖出信号图标
        'icon_size': 12           # 图标大小
    }
}

# 风险评估配置
RISK_CONFIG = {
    'volatility_levels': {
        'low': 15,               # 低风险波动率阈值
        'medium': 25,            # 中风险波动率阈值
        'high': 40               # 高风险波动率阈值
    },
    'drawdown_levels': {
        'acceptable': -10,       # 可接受最大回撤
        'warning': -20,          # 警告最大回撤
        'danger': -30            # 危险最大回撤
    },
    'confidence_thresholds': {
        'high': 70,              # 高置信度阈值
        'medium': 50,            # 中等置信度阈值
        'low': 30                # 低置信度阈值
    }
}

# 应用程序配置
APP_CONFIG = {
    'title': 'A股智能预测分析系统',
    'page_icon': '📈',
    'layout': 'wide',
    'cache_ttl': 300,            # 缓存时间（秒）
    'max_data_points': 1000,     # 最大数据点数
    'refresh_interval': 60       # 自动刷新间隔（秒）
}
